Computer networks carry data between various devices. The data may be carried in connection-based links, such as the virtual circuits in an Asynchronous Transfer Mode (ATM) network. Data may also be carried between devices in network segments wherein data is broadcast to all of a plurality of devices on the segment on a broadcast-type medium. An example of the latter is an ethernet network. It is typically convenient to set up local area networks (LANs) using a broadcast type medium over which devices can share data.
In some circumstances, for example, where a LAN is required to connect devices which are geographically distant from one another, the LAN may be broken into separate segments. Within each segment devices can exchange data by way of a broadcast-type medium. The segments may be connected to one another by way of connection-based links. Such a LAN may be called a virtual LAN (VLAN). There are various existing standards which apply to VLANs of specific types.
LANE, described in ATM Forum Specification af-lane-0021.00, describes a method for LAN emulation over ATM. LANE specifies a client-server architecture in which clients only forward frames with known destinations. All other traffic is forwarded to a server which determines destinations to which the frames should be forwarded.
Various standards exist for transporting variable-sized data packets, such as ethernet frames over ATM connections. For example, IETF RFC 2684 provides protocols for encapsulating various packet types (ethernet, IP, etc.) for transport over AAL5.
Various standards for routing variable-sized data packets over connection-based networks also exist. These include classical IP and ARP over ATM (IETF RFC 2225), multiprotocol over ATM (“MPOA”) as specified in IETF RFC 2684 or multiprotocol label switching (“MPLS”) as specified in IETF RFCs 2917 and 3035.
FIG. 1 shows an example of a simple VLAN 10. VLAN 10 comprises three segments 12 (individually labeled 12A, 12B, and 12C). Each segment 12 comprises a number of devices 13 connected by an ethernet. Segments 12 are connected by virtual circuits through an ATM network 14. Bridges 16A, 16B and 16C (collectively bridges 16) interface segments 12 to ATM network 14. Network 14 is typically set up to provide a point-to-point (P2P) virtual circuit between each bridge 16 and other bridges 16 which belong to VLAN 10.
The topology of a VLAN may be established using a protocol such as the spanning tree protocol (STP). STP generates a network topology which is defined by a spanning tree. The spanning tree defines a topology which does not include any closed loops.
There are various situations in which it is desirable to direct communications which originate at one point in a VLAN 10 to multiple destinations in multiple network segments. For example, it may be desirable to simultaneously deliver streaming video data from one device 13 to a number of other devices 13 on the network.
There are ATM standards which permit the configuration of point-to-multipoint (P2MP) ATM channels. It has not been practical to use such channels for multicasting data which originates in a segment of a VLAN.
U.S. Pat. No. 6,111,880 discloses a switch which supports both ATM and ethernet operation. The switch uses a special internal data format. The switch enables multicast data traffic by setting a “multicast mask” tag in a VPI/VCI lookup table in memory.
U.S. Pat. No. 5,852,606 discloses a method and apparatus for transmitting cells across and ATM switch bus. A routing tag provides multicast group destination information.
There exists a need for cost effective methods and apparatus for carrying multicast data transmissions which originate at a segment of a bridged LAN.